---
title: Publish an integration
sidebarTitle: Publish
---

<Icon icon="rocket" size={32} />
**Make your integration available to the community.**

<Warning>
**Important: New integrations should be standalone packages, not PRs to the LangChain monorepo.**

While LangChain maintains a small subset of first-party and high-usage integrations (like OpenAI, Anthropic, and Ollama) in the main repository, **new integrations should be published as separate PyPI packages and repositories** (e.g., `langchain-yourservice`) that users install alongside the core LangChain packages. You do **not** submit a PR to add your integration directly to the main LangChain repository.
</Warning>

Now that your package is implemented and tested, you can publish it and add documentation to make it discoverable by the community.

:::python
## Publishing your package

<Info>
    This guide assumes you have already implemented your package and written tests for it. If you haven't, please refer to the [implementation guide](/oss/contributing/implement-langchain) and [testing guide](/oss/contributing/standard-tests-langchain).
</Info>

For the purposes of this guide, we'll be using PyPI as the package registry. You may choose to publish to other registries if you prefer; instructions will vary.

### Setup credentials

First, make sure you have a PyPI account:

<AccordionGroup>
    <Accordion title="How to create a PyPI Token" icon="key">
        <Steps>
            <Step title="Create account">
                Go to the [PyPI website](https://pypi.org/) and create an account
            </Step>

            <Step title="Verify email">
                Verify your email address by clicking the link that PyPI emails to you
            </Step>

            <Step title="Enable 2FA">
                Go to your account settings and click "Generate Recovery Codes" to enable 2FA. To generate an API token, you **must** have 2FA enabled
            </Step>

            <Step title="Generate token">
                Go to your account settings and [generate a new API token](https://pypi.org/manage/account/token/)
            </Step>
        </Steps>
    </Accordion>
</AccordionGroup>

### Build and publish

<Card
    title="How to publish a package"
    icon="upload"
    href="https://docs.astral.sh/uv/guides/package/"
    arrow
>
    Helpful guide from `uv` on how to build and publish a package to PyPI.
</Card>

## Adding documentation

To add documentation for your package to this site under the [integrations tab](/oss/integrations/providers), you will need to create the relevant documentation pages and open a PR in the [LangChain docs repository](https://github.com/langchain-ai/docs).

### Writing docs

Depending on the type of integration you have built, you will need to create different types of documentation pages. LangChain provides templates for different types of integrations to help you get started.

:::python
<CardGroup>
    <Card title="Chat models" icon="message" href="https://docs.langchain.com/oss/python/integrations/chat/TEMPLATE.mdx" arrow/>
    <Card title="Tools/toolkits" icon="wrench" href="https://docs.langchain.com/oss/python/integrations/tools/TEMPLATE.mdx" arrow/>
    <Card title="Retrievers" icon="magnifying-glass" href="https://docs.langchain.com/oss/python/integrations/retrievers/TEMPLATE.mdx" arrow/>
    <Card title="Vector stores" icon="database" href="https://docs.langchain.com/oss/python/integrations/vectorstores/TEMPLATE.mdx" arrow/>
    <Card title="Embedding models" icon="layer-group" href="https://docs.langchain.com/oss/python/integrations/text_embedding/TEMPLATE.mdx" arrow/>
</CardGroup>
:::
:::js
<CardGroup>
    <Card title="Chat models" icon="message" href="https://docs.langchain.com/oss/javascript/integrations/chat/TEMPLATE.mdx" arrow/>
    <Card title="Tools/toolkits" icon="wrench" href="https://docs.langchain.com/oss/javascript/integrations/tools/TEMPLATE.mdx" arrow/>
    <Card title="Retrievers" icon="magnifying-glass" href="https://docs.langchain.com/oss/javascript/integrations/retrievers/TEMPLATE.mdx" arrow/>
    <Card title="Vector stores" icon="database" href="https://docs.langchain.com/oss/javascript/integrations/vectorstores/TEMPLATE.mdx" arrow/>
    <Card title="Embedding models" icon="layer-group" href="https://docs.langchain.com/oss/javascript/integrations/text_embedding/TEMPLATE.mdx" arrow/>
</CardGroup>
:::

<Tip>
    To reference existing documentation, you can look at the [list of integrations](/oss/integrations/providers) and find similar ones to yours.

    To view a given documentation page in raw markdown, use the dropdown button next to "Copy page" on the top right of the page and select "View as Markdown".
</Tip>

### Submitting a PR

Make a fork of the [LangChain docs repository](https://github.com/langchain-ai/docs) under a personal GitHub account, and clone it locally. Create a new branch for your integration. Copy the template and modify them using your favorite markdown text editor. Make sure to refer to and follow the [documentation guide](/oss/contributing/documentation) when writing your documentation.

<Warning>
    We may reject PRs or ask for modification if:
    - CI checks fail
    - Severe grammatical errors or typos are present
    - [Mintlify components](/oss/contributing/documentation#mintlify-components) are used incorrectly
    - Pages are missing a [frontmatter](/oss/contributing/documentation#page-structure)
    - [Localization](/oss/contributing/documentation#localization) is missing (where applicable)
    - [Code examples](/oss/contributing/documentation#in-code-documentation) do not run or have errors
    - [Quality standards](/oss/contributing/documentation#quality-standards) are not met
</Warning>

Please be patient as we handle a large volume of PRs. We will review your PR as soon as possible and provide feedback or merge it. **Do not repeatedly tag maintainers about your PR.**

---

## Next steps
**Congratulations!** Your integration is now published and documented, making it available to the entire LangChain community.

<Card title="Co-marketing" icon="bullhorn" href="/oss/contributing/comarketing" arrow>
    Get in touch with the LangChain marketing team to explore co-marketing opportunities.
</Card>

:::
:::js
TODO
:::
